# -*- coding: utf-8 -*-
"""
@author:xuyuntao
@time:2021/5/8:16:45
@email:xuyuntao@189.cn
"""
from Tools import MT
from charactersAlgorithm import R,Gamma_max,\
    Sigma_aa,Sigma_ap,Sigma_af,\
    R_avg,Gamma_max_avg,Sigma_aa_avg,Sigma_ap_avg,Sigma_af_avg
from charactersAlgorithm import C20,C21,C40,C41,C42,\
    C60,C61,C62,C63,M20,M21,M40,M41,M42,M60,M61,M62,M63,\
    highCumMethods,f_x1,f_x2,f_x3,f_x1_avg,f_x2_avg,f_x3_avg
"""论文图3-1~3-5"""
lineWidth=1   # 绘图线宽
figSizeNum = 8  # 窗口大小基本量
figSize = (figSizeNum, round(figSizeNum / 4 * 3))  # 窗口大小
fontSize = 21  # 其他字体大小
labelSize = 18  # 轴刻度字号
legendSize=fontSize  # 图例字号
numbersInsideSize=8  # 内部标注数字字号
drawTypes=[0,1]   # 0表示热力图，1表示折线图
marker=True   # 折线图显示marker，为list可指定各折线显示的marker，True则使用默认显示序列
# ---调制类型轴---
modulationTypes=[MT("ask",4),MT("ask",8),
                 MT("psk",2),MT("psk",4),
                 MT("qam",16),MT("qam",64),MT("qam",256),
                 MT("fsk",2),MT("fsk",4)]    # 按这个循环计算各调制种类的高阶累积量
SNRList=[_ for _ in range(30,-2,-1)]  # 信噪比轴  [-1,0,1,2,3,...]
varList=[R_avg, Gamma_max_avg, Sigma_aa_avg, Sigma_ap_avg, Sigma_af_avg] # 计算特征值列表
# 计算几种不同高阶累积量  [func_1,func_2,...]
specialList=[Sigma_ap_avg, Sigma_af_avg]  # 需要传入其他参数的特征值函数
sampleLength=[300]   # 取几种不同采样长度
norm=True   # 是否进行归一化
SignalOrConstel=0   # 0为调制信号Signal，1为基带信号Constel
awgnOrAntArr=0   # 是否使用阵列天线，0为使用普通天线，1为使用阵列天线
signalWay=30   # 使用阵列天线时设定的信号来源角度
# ---其他参数---
a_t=1   # 论文at
# ---码元数据---
avgTimes=50   # 一次生成的信号数，用于计算平均特征值
bytesRate=16  # 码元速率
carrierFreq=32  # 载波速率
sampleFreq=60*carrierFreq  # 采样速率
seperate = 16  # fsk两频率相较载波的偏差
fsk_phase_continue = True  # 是否相位连续